iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
Modern Web

asp.net core 分層架構快速上手系列 第 22

Day21 設置頁面角色權限

  • 分享至 

  • xImage
  •  
  • Using Utility
    1.開啟所有的_ViewImports.cshtml(View、Admin、Customer)
    2.新增:
@using Microsoft.AspNetCore.Identity
@using ClothesShop.Areas.Identity
@using ClothesShop.Areas.Identity.Pages
@using ClothesShop.Utility
  • 修改_Layout

內容管理的下拉選單修改程式碼;
限制:只有主管與管理員看的到管理功能。

**@if (User.IsInRole(SD.Role_Admin) || User.IsInRole(SD.Role_Manager))**
{
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle text-dark" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">內容管理</a>
<div class="dropdown-menu">
<a class="dropdown-item" asp-area="Admin" asp-controller="Category" asp-action="Index">類別</a>
<a class="dropdown-item text-dark" asp-area="Admin" asp-controller="Product" asp-action="Index">產品</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" asp-area="Identity" asp-page="/Account/Register">建立使用者</a>
</div>
</li>
}
  • 限制Category&Product權限

  • 將Category & Product的Controller都打開

    • 在[Area(“Admin”)]下方新增:
    • [Authorize(Roles = SD.Role_Admin + "," + SD.Role_Manager)]
    • 限制只有Admin與Manager才能操作產品與類別的頁面。
  • 錯誤處: using Microsoft.AspNetCore.Authorization;

https://ithelp.ithome.com.tw/upload/images/20240923/20147438fdMcYK1N2z.png

  • 修正個人資料導覽列

    • 將Areas\Identity\Pages_ViewStart.cshtml
      複製到Areas\Identity\Pages\Account\Manage_ViewStart.cshtml。
    • 修改Manage_ViewStart.cshtml: @{Layout = "_Layout.cshtml";}
    • 打開Manage_Layout.cshtml修改: else{Layout = "/Views/Shared/_Layout.cshtml";}
      https://ithelp.ithome.com.tw/upload/images/20240923/20147438zhtkhewdoa.png
      https://ithelp.ithome.com.tw/upload/images/20240923/20147438stEKyyrfgy.png
  • 點擊右上角,可進入個人頁面。

  • 並出現導覽列。

https://ithelp.ithome.com.tw/upload/images/20240923/20147438nh15LdKEoo.png


上一篇
Day20 修改註冊頁面
下一篇
Day22 建立分店(建立資料)
系列文
asp.net core 分層架構快速上手31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言